Index: specialpurpose/webpos/template/cart/ChooseVariant.ftl =================================================================== --- specialpurpose/webpos/template/cart/ChooseVariant.ftl (revision 0) +++ specialpurpose/webpos/template/cart/ChooseVariant.ftl (revision 0) @@ -0,0 +1,77 @@ +<#-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + \ No newline at end of file Index: specialpurpose/webpos/template/cart/ShowCart.ftl =================================================================== --- specialpurpose/webpos/template/cart/ShowCart.ftl (revision 0) +++ specialpurpose/webpos/template/cart/ShowCart.ftl (revision 0) @@ -0,0 +1,150 @@ +<#-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + + + +<#if (shoppingCartSize > 0)> +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
${uiLabelMap.WebPosTransactionId}${transactionId?default("NA")}${(paymentCash.get("description", locale))!}<@ofbizCurrency amount=cashAmount isoCode=shoppingCart.getCurrency()/>${uiLabelMap.WebPosTotalItemSubTotal}<@ofbizCurrency amount=shoppingCart.getDisplaySubTotal() isoCode=shoppingCart.getCurrency()/>
${uiLabelMap.WebPosDrawer}${drawerNumber?default(0)}${(paymentCheck.get("description", locale))!}<@ofbizCurrency amount=checkAmount isoCode=shoppingCart.getCurrency()/>${uiLabelMap.WebPosTotalPromotions}<@ofbizCurrency amount=shoppingCart.getOrderOtherAdjustmentTotal() isoCode=shoppingCart.getCurrency()/>
${uiLabelMap.WebPosTerminal}<#if isOpen>${uiLabelMap.WebPosTerminalOpen}<#else>${uiLabelMap.WebPosTerminalClose}${(paymentGift.get("description", locale))!}<@ofbizCurrency amount=giftAmount isoCode=shoppingCart.getCurrency()/>${uiLabelMap.WebPosTotalSalesTax}<@ofbizCurrency amount=shoppingCart.getTotalSalesTax() isoCode=shoppingCart.getCurrency()/>
${(paymentCredit.get("description", locale))!}<@ofbizCurrency amount=creditAmount isoCode=shoppingCart.getCurrency()/>${uiLabelMap.WebPosTotalShipping}<@ofbizCurrency amount=shoppingCart.getTotalShipping() isoCode=shoppingCart.getCurrency()/>
${uiLabelMap.WebPosTransactionTotalDue}<@ofbizCurrency amount=totalDue isoCode=shoppingCart.getCurrency()/>${uiLabelMap.WebPosTransactionTotalPay}<@ofbizCurrency amount=totalPay isoCode=shoppingCart.getCurrency()/>${uiLabelMap.WebPosTotal}<@ofbizCurrency amount=shoppingCart.getDisplayGrandTotal() isoCode=shoppingCart.getCurrency()/>
+
+ +
+ + + + + + + + + + + + <#if (shoppingCartSize > 0)> + + <#-- set initial row color --> + <#assign alt_row = false> + <#list shoppingCart.items() as cartLine> + <#assign cartLineIndex = shoppingCart.getItemIndex(cartLine)> + class="pos-cart-even"<#else>class="pos-cart-odd"> + + + + + + + + <#-- toggle the row color --> + <#assign alt_row = !alt_row> + + + + + + + + + + + + + + + + +
${uiLabelMap.OrderProduct}${uiLabelMap.CommonQuantity}${uiLabelMap.WebPosUnitPrice}${uiLabelMap.WebPosAdjustments}${uiLabelMap.WebPosItemTotal}${uiLabelMap.CommonRemove}
+
+ <#if cartLine.getProductId()??> + <#-- product item --> + <#-- start code to display a small image of the product --> + <#if cartLine.getParentProductId()??> + <#assign parentProductId = cartLine.getParentProductId()/> + <#else> + <#assign parentProductId = cartLine.getProductId()/> + + <#assign smallImageUrl = Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(cartLine.getProduct(), "SMALL_IMAGE_URL", locale, dispatcher, "url")!> + <#if !smallImageUrl?string?has_content><#assign smallImageUrl = "/images/defaultImage.jpg"> + <#if smallImageUrl?string?has_content> + + + <#-- end code to display a small image of the product --> + ${cartLine.getProductId()} - ${cartLine.getName()!} : ${cartLine.getDescription()!} + <#else> + <#-- this is a non-product item --> + ${cartLine.getItemTypeDescription()!} : ${cartLine.getName()!} + +
+
+ ${cartLine.getQuantity()?string.number} +
<@ofbizCurrency amount=cartLine.getDisplayPrice() isoCode=shoppingCart.getCurrency()/>
<@ofbizCurrency amount=cartLine.getOtherAdjustments() isoCode=shoppingCart.getCurrency()/>
<@ofbizCurrency amount=cartLine.getDisplayItemSubTotal() isoCode=shoppingCart.getCurrency()/>

${shoppingCartSize?default(0)}${totalQuantity?default(0)}  <@ofbizCurrency amount=shoppingCart.getDisplaySubTotal() isoCode=shoppingCart.getCurrency()/> 
+
+ Index: specialpurpose/webpos/template/cart/ShowCartItemSelected.ftl =================================================================== --- specialpurpose/webpos/template/cart/ShowCartItemSelected.ftl (revision 0) +++ specialpurpose/webpos/template/cart/ShowCartItemSelected.ftl (revision 0) @@ -0,0 +1,75 @@ +<#-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> +<#assign focusOnQuantity = requestParameters.focusOnQuantity!/> +<#assign cartLineIndex = requestParameters.cartLineIndex!/> +<#if cartLineIndex?? && cartLineIndex?has_content> + <#assign isInteger = Static["org.ofbiz.base.util.UtilValidate"].isInteger(cartLineIndex)> + <#if isInteger> + <#assign idx = cartLineIndex?number> + <#assign cartLine = shoppingCart.findCartItem(idx)!> + <#if cartLine?? && cartLine?has_content> + <#if cartLine.getProductId()??> + <#assign smallImageUrl = Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(cartLine.getProduct(), "SMALL_IMAGE_URL", locale, dispatcher, "url")!> + <#if !smallImageUrl?string?has_content> + <#assign smallImageUrl = "/images/defaultImage.jpg"> + + <#if smallImageUrl?string?has_content> +
+ +
+ +
+ <#if cartLine.getProductId()?has_content> + ${cartLine.getProductId()} +
+ + <#if cartLine.getName()?has_content> + ${cartLine.getName()} + <#else> + <#if cartLine.getDescription()?has_content> + ${cartLine.getDescription()} + + + <#else> +
+ <#-- this is a non-product item --> + ${cartLine.getItemTypeDescription()!} : ${cartLine.getName()!} + +
+ ${uiLabelMap.CommonQuantity}  + + + +
+ <#if isManager?default(false)> + ${uiLabelMap.WebPosManagerModifyPriceNewPrice}  + + +
+ + + ${uiLabelMap.CommonUpdate} + ${uiLabelMap.CommonDelete} +
+ + + + Index: specialpurpose/webpos/template/catalog/CategoryDetail.ftl =================================================================== --- specialpurpose/webpos/template/catalog/CategoryDetail.ftl (revision 0) +++ specialpurpose/webpos/template/catalog/CategoryDetail.ftl (revision 0) @@ -0,0 +1,68 @@ +<#-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> +<#if productCategoryMembers??> + + <#assign numButton = 1/> + <#assign cell = 0/> + + <#list productCategoryMembers as productCategoryMember> + <#assign product = productCategoryMember.getRelatedOne("Product", false)!> + <#if product?? && product?has_content> + <#assign smallImageUrl = Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product, "SMALL_IMAGE_URL", locale, dispatcher, "url")! /> + <#if !smallImageUrl?string?has_content> + <#assign smallImageUrl = "/images/defaultImage.jpg"> + + <#assign productName = Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product, "PRODUCT_NAME", locale, dispatcher, "html")! /> + <#if !productName?string?has_content> + <#assign productName = Static["org.ofbiz.product.product.ProductContentWrapper"].getProductContentAsText(product, "DESCRIPTION", locale, dispatcher, "html")! /> + + <#assign addItemLink = "javascript:addItem('" + product.productId + "', '1', 'Y');"> + + <#assign cell = 0/> + + + <#if cell != 3> + + +
+
    + <#assign button = "button" + numButton> +
  1. + <#if smallImageUrl?string?has_content> + + + + +
  2. +
+ +
+ + <#assign numButton = numButton + 1/> + <#assign cell = cell + 1/> + <#if cell == 3> +
+ + Index: specialpurpose/webpos/template/catalog/SideDeepCategory.ftl =================================================================== --- specialpurpose/webpos/template/catalog/SideDeepCategory.ftl (revision 0) +++ specialpurpose/webpos/template/catalog/SideDeepCategory.ftl (revision 0) @@ -0,0 +1,82 @@ +<#-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> +<#-- variable setup and worker calls --> +<#if (requestAttributes.topLevelList)??><#assign topLevelList = requestAttributes.topLevelList> +<#if (requestAttributes.curCategoryId)??><#assign curCategoryId = requestAttributes.curCategoryId> + +<#-- looping macro --> +<#macro categoryList parentCategory category wrapInBox> + <#if catContentWrappers?? && catContentWrappers[category.productCategoryId]?? && catContentWrappers[category.productCategoryId].get("CATEGORY_NAME", "html")??> + <#assign categoryName = catContentWrappers[category.productCategoryId].get("CATEGORY_NAME", "html")> + <#else> + <#assign categoryName = category.categoryName!> + + <#if catContentWrappers?? && catContentWrappers[category.productCategoryId]?? && catContentWrappers[category.productCategoryId].get("DESCRIPTION", "html")??> + <#assign categoryDescription = catContentWrappers[category.productCategoryId].get("DESCRIPTION", "html")> + <#else> + <#assign categoryDescription = category.description!> + + <#if curCategoryId?? && curCategoryId == category.productCategoryId> + <#assign browseCategoryButtonClass = "browsecategorybuttondisabled"> + <#else> + <#assign browseCategoryButtonClass = "browsecategorybutton"> + + <#if wrapInBox == "Y"> +
+

<#if categoryDescription?has_content>${categoryDescription}<#else>${categoryName?default("")}

+
+
+ +
  • + <#if parentCategory?has_content> + <#assign parentCategoryId = parentCategory.productCategoryId/> + <#else> + <#assign parentCategoryId = ""/> + + <#assign categoryUrl = "javascript:selectCategory('" + category.productCategoryId + "');"/> + <#if categoryName?has_content>${categoryName}<#else>${categoryDescription?default("")} + <#if (Static["org.ofbiz.product.category.CategoryWorker"].checkTrailItem(request, category.getString("productCategoryId"))) || (curCategoryId?? && curCategoryId == category.productCategoryId)> + <#local subCatList = Static["org.ofbiz.product.category.CategoryWorker"].getRelatedCategoriesRet(request, "subCatList", category.getString("productCategoryId"), true)> + <#if subCatList??> + <#list subCatList as subCat> +
      + <@categoryList parentCategory=category category=subCat wrapInBox="N"/> +
    + + + +
  • + <#if wrapInBox == "Y"> +
    +
    +
    + + + +<#if topLevelList?has_content> +
    +
    +
      + <#list topLevelList as category> + <@categoryList parentCategory=category category=category wrapInBox="N"/> + +
    +
    +
    + Index: specialpurpose/webpos/template/customer/EditAddress.ftl =================================================================== --- specialpurpose/webpos/template/customer/EditAddress.ftl (revision 0) +++ specialpurpose/webpos/template/customer/EditAddress.ftl (revision 0) @@ -0,0 +1,98 @@ +<#-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + \ No newline at end of file Index: specialpurpose/webpos/template/includes/Header.ftl =================================================================== --- specialpurpose/webpos/template/includes/Header.ftl (revision 0) +++ specialpurpose/webpos/template/includes/Header.ftl (revision 0) @@ -0,0 +1,56 @@ +<#-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> +<#-- --> + +<#-- --> + + + <#if title?has_content>${title}<#elseif titleProperty?has_content>${uiLabelMap.get(titleProperty)}</#if>: ${(productStore.storeName)!} + <#if layoutSettings.shortcutIcon?has_content> + + + <#if layoutSettings.javaScripts?has_content> + <#--layoutSettings.javaScripts is a list of java scripts. --> + <#list layoutSettings.javaScripts as javaScript> + + + + <#if layoutSettings.styleSheets?has_content> + <#--layoutSettings.styleSheets is a list of style sheets. So, you can have a user-specified "main" style sheet, AND a component style sheet.--> + <#list layoutSettings.styleSheets as styleSheet> + + + + <#-- Append CSS for catalog --> + <#if catalogStyleSheet??> + + + <#-- Append CSS for tracking codes --> + <#if sessionAttributes.overrideCss??> + + + <#-- Meta tags if defined by the page action --> + <#if metaDescription??> + + + <#if metaKeywords??> + + + + \ No newline at end of file Index: specialpurpose/webpos/template/includes/Messages.ftl =================================================================== --- specialpurpose/webpos/template/includes/Messages.ftl (revision 0) +++ specialpurpose/webpos/template/includes/Messages.ftl (revision 0) @@ -0,0 +1,66 @@ +<#-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> + +<#if requestAttributes.errorMessageList?has_content><#assign errorMessageList=requestAttributes.errorMessageList> +<#if requestAttributes.eventMessageList?has_content><#assign eventMessageList=requestAttributes.eventMessageList> +<#if requestAttributes.serviceValidationException??><#assign serviceValidationException = requestAttributes.serviceValidationException> +<#if requestAttributes.uiLabelMap?has_content><#assign uiLabelMap = requestAttributes.uiLabelMap> + +<#if !errorMessage?has_content> + <#assign errorMessage = requestAttributes._ERROR_MESSAGE_!> + +<#if !errorMessageList?has_content> + <#assign errorMessageList = requestAttributes._ERROR_MESSAGE_LIST_!> + +<#if !eventMessage?has_content> + <#assign eventMessage = requestAttributes._EVENT_MESSAGE_!> + +<#if !eventMessageList?has_content> + <#assign eventMessageList = requestAttributes._EVENT_MESSAGE_LIST_!> + + +<#-- display the error messages --> +<#if (errorMessage?has_content || errorMessageList?has_content)> +
    + <#if errorMessage?has_content> +

    ${errorMessage}

    + + <#if errorMessageList?has_content> + <#list errorMessageList as errorMsg> +

    ${errorMsg}

    + + +
    + + +<#-- display the event messages --> +<#if (eventMessage?has_content || eventMessageList?has_content)> +
    + <#if eventMessage?has_content> +

    ${eventMessage}

    + + <#if eventMessageList?has_content> + <#list eventMessageList as eventMsg> +

    ${eventMsg}

    + + +
    + + +